package com.movitech.mobile.cz.base.mapper;

import com.movitech.mobile.cz.base.entity.*;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Component;

import java.util.List;
import java.util.Map;

/**
 * 专项采购模块Mapper
 * @author Jack.Gong
 * @since 2018-05-24
 *
 */
@Component
@Mapper
public interface SpecialPurchaseReportMapper {

	long searchSpecialPurchaseDetailCount(Map<String, Object> map);
	long searchStrategicPurchaseDetailCount(Map<String, Object> map);
	List<SPDetailSearchResVO> searchSpecialPurchaseDetail(Map<String, Object> map);
	List<STDetailSearchResVO> searchStrategicPurchaseDetail(Map<String, Object> map);

    List<SysDictVO> getPurchaseTypeDictList();

	long searchSpecialPurchaseAbortiveCount(Map<String, Object> map);

	List<SPAbortiveSearchResVO> searchSpecialPurchaseAbortive(Map<String, Object> map);
	List<GroupPurchaseTypeVO> groupPurchaseTypeSummary(PurchaseReportReqVO purchaseTypeReqVO);

	List<AreaPurchaseTypeVO> areaPurchaseTypeSummary(PurchaseReportReqVO purchaseTypeReqVO);

	List<GroupPurchaseAmountVO> groupPurchaseAmountSummary(PurchaseReportReqVO purchaseTypeReqVO);

	List<GroupPurchaseAmountVO> groupPurchaseAmountSummaryNew(PurchaseReportReqVO purchaseTypeReqVO);

	List<AreaPurchaseAmountVO> areaPurchaseAmountSummary(PurchaseReportReqVO purchaseTypeReqVO);
	
	long searchDiscussionHistoryCount(Map<String, Object> map);

	List<DiscussionHistorySearchResVO> searchDiscussionHistory(Map<String, Object> map);

	List<AreaPurchaseVariationVO> areaPurchaseVariationSummary(PurchaseReportReqVO purchaseTypeReqVO);

    List<STDetailSearchResVO> searchStrategicDirectDetail(STDetailSearchReqVO reqVO);
}
